'''
Author: Logan.Li
Gitee: https://gitee.com/attacker
email: admin@attacker.club
Date: 2025-03-22 23:27:42
LastEditTime: 2025-03-22 23:52:44
Description: 该脚本用于获取 Telegram 群聊的 ID 和群名，通过 Telegram Bot 的 API 获取群聊信息
1. 打开 Telegram，搜索并进入 BotFather。
2. 在 BotFather 中输入 `/mybots`，会列出你所有的机器人。
3. 选择你想要使用的机器人，然后点击 **API Token**，复制 Token。
'''

import requests
import os

# 你的 Telegram Bot Token
TOKEN = os.getenv('TELEGRAM_BOT_TOKEN')

# 获取更新的 API URL
url = f"https://api.telegram.org/bot{TOKEN}/getUpdates"

# 发送请求
response = requests.get(url)
data = response.json()

# 检查 API 是否返回成功
if not data.get("ok"):
    print("❌ 获取失败:", data.get("description", "未知错误"))
else:
    group_ids = set()  # 用集合去重
    for result in data.get("result", []):
        chat = result.get("message", {}).get("chat") or result.get("my_chat_member", {}).get("chat")
        if chat and chat.get("type") in ["group", "supergroup"]:  # 只取群聊
            group_id = chat.get("id")
            group_name = chat.get("title", "未知群组")
            if group_id:
                group_ids.add((group_id, group_name))

    if group_ids:
        print("✅ 已找到以下群组信息：")
        for group_id, group_name in group_ids:
            print(f"📌 群名: {group_name}，群 ID: {group_id}")
    else:
        print("⚠️ 没有找到群聊 ID，请确保 Bot 在群里并有权限读取消息。")